Szövegfájlból (szoveg.txt) indexfájl (index.txt) létrehozása kicsit bonyolultabban, mint Java-ban, mivel itt figyelembe vesszük az írásjeleket és azok nem kerülnek be az indexfájlba (Indexelo.pas)

program Indexelo;
uses crt;
var i,i1,i2j,r,n:integer;
    f,g:text;
    s,s1:string;
    sorok:array [1..50] of string;
    szavak:array [1..100] of string;

procedure cserelgetes (i,j:integer);
var x:string;
begin
   x:=szavak[i];
   szavak[i]:=szavak[j];
   szavak[j]:=x;
   end;

procedure rendezes;
{a szavak n elemu tomb elrendezese}
var i,j:integer;
begin
   for i:=1 to r-1 do
      for j:=i+1 to r do
         if (szavak[j]<szavak[i]) then cserelgetes(j,i);
   end;

function postit(s:string):integer;
var i,p:integer;
begin
   p:=0;
   for i:=1 to length(s) do
      case s[i] of
         'a'..'z','A'..'Z':continue;
          #128..#255:continue;
      else begin
         p:=i;
         break;
         end;
      end;
      postit:=p;
   end;

BEGIN
   clrscr;
   assign(f,'szoveg.txt');reset(f);
   assign(g,'index.txt');rewrite(g);
   i:=0;
   while (not eof(f)) do begin
      if (i=51) then break;
      readln(f,s);
      inc(i);
      sorok[i]:=s;
      end;
   close(f);
   writeln('a szoveg.txt fajl ',i,' sorbol all');
   r:=i; {sorok szama}
   j:=0;
   for i:=1 to r do begin
      s:=sorok[i]+' xxx';
      i2:=postit(s);
      while (i2>0) do begin
         if ((i2>1) and (j<1000)) then begin
            inc(j);
            str(i,s1);
            szavak[j]:=copy(s,1,i2-1)+' '+s1;
            end;
         s:=copy(s,i2+1,255);
         i2:=postit(s);
         end;
      end;
   writeln('az index.txt fajl ',j,' szobol all');
   r:=j;
   rendezes;
   for i:=1 to r do writeln(g,szavak[i]);
   close(g);
   readkey;
END.